import {
	BASE_IP
} from '@/common/http/url.js'
import moment from "moment"
function test() {
	return "hello"
}

function upLoadSeal(pdfPath, sealPath) {
	uni.showLoading({
		title: "正在加载"
	})

	console.log("=====pdf", pdfPath)
	console.log("=====seal", sealPath)
	let user = uni.getStorageSync("user")
	let url = BASE_IP + "pc/regulatory/update/pdf/seal"
	uni.request({
		header: {
			"Authorization": user.token,
			'Content-Type': 'application/x-www-form-urlencoded'
		},
		method: "POST",
		url: url,
		data: {
			imgPath: sealPath,
			pdfPath: pdfPath
		},
		success: (res) => {
			uni.hideLoading();
			// console.log(res)
			if (res.statusCode == 200) {
				uni.showToast({
					title: "盖章成功",
					icon: "success"
				})
			}
			if (res.statusCode == 404) {
				uni.showToast({
					title: "盖章失败",
					icon: "error"
				})
			}
			if (res.statusCode == 500) {
				uni.showToast({
					title: "盖章失败",
					icon: "error"
				})
			}
		},
		fail: () => {
			uni.hideLoading();
			uni.showToast({
				title: "盖章失败",
				icon: "error"
			})
		}
	})
}

function upSignatures(pdfPath, sealPath) {
	console.log("=====pdf", pdfPath)
	console.log("=====seal", sealPath)

	uni.showLoading({
		title: "正在加载"
	})

	let user = uni.getStorageSync("user")
	let url = BASE_IP + "pc/regulatory/update/pdf/signature"
	uni.request({
		header: {
			"Authorization": user.token,
			'Content-Type': 'application/x-www-form-urlencoded'
		},
		method: "POST",
		url: url,
		data: {
			imgPath: sealPath,
			pdfPath: pdfPath
		},
		success: (res) => {
			uni.hideLoading();
			console.log(res)
			if (res.statusCode == 200) {
				uni.showToast({
					title: "签字成功",
					icon: "success"
				})
			}
			if (res.statusCode == 404) {
				uni.showToast({
					title: "签字失败",
					icon: "error"
				})
			}
			if (res.statusCode == 500) {
				uni.showToast({
					title: "签字失败",
					icon: "error"
				})
			}
		},
		fail: () => {
			uni.hideLoading();
			uni.showToast({
				title: "签字失败",
				icon: "error"
			})
		}
	})
}
/**
 * @param {Object} pdfPath pdf本地路径
 * @param {Object} imgPath 图片路径
 * @param {Object} x x坐标轴
 * @param {Object} y y坐标轴
 */
function instImgPdf(pdfPath, imgPath, x, y) {
	uni.showLoading({
		title: "正在加载"
	})


	let user = uni.getStorageSync("user")
	let url = BASE_IP + "pc/regulatory/update/pdf/" + x + "/" + y
	uni.request({
		header: {
			"Authorization": user.token,
			'Content-Type': 'application/x-www-form-urlencoded'
		},
		method: "POST",
		url: url,
		data: {
			imgPath: imgPath,
			pdfPath: pdfPath
		},
		success: (res) => {
			uni.hideLoading();
			console.log(res)
			// if (res.statusCode == 200) {
			// 	uni.showToast({
			// 		title: "签章成功",
			// 		icon: "success"
			// 	})
			// }
			if (res.statusCode == 404) {
				uni.showToast({
					title: "签章失败",
					icon: "error"
				})
			}
			if (res.statusCode == 500) {
				uni.showToast({
					title: "签章失败",
					icon: "error"
				})
			}
		},
		fail: () => {
			uni.hideLoading();
			uni.showToast({
				title: "签章失败",
				icon: "error"
			})
		}
	})
}

/**
 * 解析给定的JSON对象中的时间戳，并根据提供的格式化模式返回日期字符串。
 * 
 * @param {Object} jsonObject - 包含时间戳的JSON对象，期望有`value`字段表示时间戳。
 * @param {string} [pattern="YYYY-MM-DD"] - 可选，日期格式化模式，默认为"YYYY-MM-DD"。
 * @returns {string} 格式化后的日期字符串。
 */
function parseTimestampToDate(jsonObject, pattern = "YYYY-MM-DD") {
	if (!jsonObject || !jsonObject.value) {
		throw new Error('无效的输入: JSON对象或其value属性不存在');
	}

	const date = new Date(jsonObject.value);
	const year = date.getFullYear();
	const month = String(date.getMonth() + 1).padStart(2, '0');
	const day = String(date.getDate()).padStart(2, '0');

	// 替换模式中的标记符
	let formattedDate = pattern.replace("YYYY", year)
		.replace("MM", month)
		.replace("DD", day);

	return formattedDate;
}
/**
 * 获取今天的开始时间（00:00:00）的时间戳。
 *
 * @returns {number} 今天的开始时间的时间戳（毫秒）
 */
function getTodayTimestamp() {
	// 使用 moment 创建今天的开始时间（00:00:00）
	const todayStart = moment().startOf('day'); // 设置时间为当天的开始时间
	// 返回 Unix 时间戳（毫秒）
	return todayStart.valueOf();
}

export default {
	test,
	upSignatures,
	upLoadSeal,
	instImgPdf,
	parseTimestampToDate,
	getTodayTimestamp
}